<?php
/**
 * Класс обеспечивает формирование и хранение списка ошибок для элементов форм
 * 
 * @author Дмитрий Кузьма <kouzma.d@gmail.com>
 * @version 1.0
 */
class Exception_Form extends Exception_Multiline {
  /**
   * Список ошибок. в ассоциативном миде
   *
   * @var array
   */
  protected $_assocList = array();
   
  /**
   * Добавляет исключение в общий список
   *
   * @param string $name
   * @param string $text
   */
  
  /**
   * Функция обеспечивает работу шаблона Singleton
   * Благодаря ей у нас всегда будет только один объект ошибок формы
   *
   * @return object - объект формы
   */
  static public function instance() {
    static $objForm;
    if (!isset($objForm)) {
      $objForm = new Exception_Form();
    }
    return $objForm;
  }
    
  public function addException($name, $text) {
    $this->_assocList[$name] = $text;
    $this->_list[] = $text;
  }
  /**
   * и конкретная ошибка
   * @param string $name
   */
  public function isExceptionExists($name) {
    return isset($this->_assocList[$name]);
  }
  
  /**
   * ращает значение конкретной ошибки
   * @param string $name
   */
  public function getException($name) {
    if (!$this->isExceptionExists($name))
      return false;
    else
      return $this->_assocList[$name];
  }
  
}
?>